﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;


/// <summary>
/// 存储 .tlib 文件的文件头。
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct TLibHeader {

    /// <summary>
    /// 当前文件规范的版本。
    /// </summary>
    public byte fileVersion;

    /// <summary>
    /// 依赖模块列表存储在当前文件的偏移位置。
    /// </summary>
    public uint requiredModuleIndexOffset;

    /// <summary>
    /// 检查点列表存储在当前文件的偏移位置。
    /// </summary>
    public uint checkPointIndexOffset;

    /// <summary>
    /// 成员信息表存储在当前文件的偏移位置。
    /// </summary>
    public uint memberIndexOffset;

    /// <summary>
    /// 当前文件的总大小。
    /// </summary>
    public uint fileSize;

    ///// <summary>
    ///// 当前文件里全局成员数目。
    ///// </summary>
    //public short globalMemberCount;

    ///// <summary>
    ///// 当前文件里类型数目。
    ///// </summary>
    //public short typeCount;

    ///// <summary>
    ///// 当前文件里成员数目。
    ///// </summary>
    //public short memberCount;

    ///// <summary>
    ///// 当前模块名的位置。
    ///// </summary>
    //public int moduleNameOffset;

    ///// <summary>
    ///// 当前模块版本的位置。
    ///// </summary>
    //public int moduleVersion;

    ///// <summary>
    ///// 当前模块的额外数据位置。
    ///// </summary>
    //public int moduleData;
}
